void group(char *group_in, char group_out[][Z_FAC], int group_size, int group_num);
void cal_w(int matrix[][NB_FAC], char u[][Z_FAC], int mb, int kb, int z, char w[][Z_FAC]);
void cal_v(int matrix[][NB_FAC], char w[][Z_FAC], int mb, int kb, int z, char v[][Z_FAC]);
void encode(int marix[][NB_FAC], char *u, char *c, int mb, int kb, int z);
unsigned prprp_encode(mod2sparse *H, char *InfoBit, char *CodeWord, int len, int sp);